package com.spc.car.data.domain.adm.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
public class AdmVehlicePrivateVO {

    private Long id;

    /**
     * 车辆名称
     */
    @NotBlank(message = "车辆名称不能为空！")
    @Length(max = 20, message = "车辆名称最大不能超过20个字符")
    private String carName;

    /**
     * 车牌号
     */
    @NotBlank(message = "车牌号不能为空！")
    @Length(max = 10, message = "车牌号最大不能超过10个字符")
    private String numberPlate;

    /**
     * 品牌
     */
    @NotBlank(message = "车辆品牌不能为空！")
    private String carBrand;

    /**
     * 车主（私车）
     */
    @NotNull(message = "所属车主不能为空！")
    private Long vehicleOwerId;

    @NotBlank(message = "车主姓名不能为空！")
    private String vehicleOwner;

    /**
     * 座位数
     */
    @NotBlank(message = "座位数不能为空！")
    private String carSeatNum;

    /**
     * 是否年检（S-年检合格；N-否）
     */
    @NotBlank
    private String isRenewal;

    /**
     * 年检到期日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date renewalEndDate;

    /**
     * 是否购置保险（Y-有保险；N-无保险）
     */
    @NotBlank
    private String isInsure;

    /**
     * 保险到期日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date insureEndDate;

    /**
     * 车辆证件
     */
    private String license;

    /**
     * 备注
     */
    private String remark;
}
